package cn.thinkjoy.social.dto;

import cn.thinkjoy.common.domain.BaseDomain;
import cn.thinkjoy.social.domain.ShareUrls;

import java.util.ArrayList;
import java.util.List;

/**
 * 圈子、活动、投票的DTO
 */
public class ShareDTO extends BaseDomain {

    /** 用户信息 */
    private UserDTO user;
    /** 正文 */
    private String content;
    /** 图片 */
    private List<ShareUrls> medias = new ArrayList<ShareUrls>();
    /** 分享出去的链接 */
    private String shareUrl;
    /** 创建时间 */
    private long createTime;
    /** 评论数 */
    private int commentCount;
    /** 点赞数 */
    private int praiseCount;
    /** 当前用户是否已赞 */
    private boolean isPraised;
    /** 消息类型（ emotion: 说说, activity: 活动, vote: 投票 ）*/
    private String messageType;
    /** 参与人数（ messageType 是 activity 时才有效 ）*/
    private int takePartCount;
    /** 是否单选（ messageType 是 vote 时才有效 ）*/
    private boolean isVoteOptionSingle;
    /** 投票的截止日期（ messageType 是 vote 时才有效）*/
    private long deadLine;
    /** 投票选项 （ messageType 是 vote 时才有效）*/
    private List<VoteItemDTO> voteItems = new ArrayList<VoteItemDTO>();
    /** 标签 */
    private List<String> tags = new ArrayList<String>();

    public UserDTO getUser() {
        return user;
    }

    public void setUser(UserDTO user) {
        this.user = user;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public List<ShareUrls> getMedias() {
        return medias;
    }

    public void setMedias(List<ShareUrls> medias) {
        this.medias = medias;
    }

    public String getShareUrl() {
        return shareUrl;
    }

    public void setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public int getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(int commentCount) {
        this.commentCount = commentCount;
    }

    public int getPraiseCount() {
        return praiseCount;
    }

    public void setPraiseCount(int praiseCount) {
        this.praiseCount = praiseCount;
    }

    public boolean isPraised() {
        return isPraised;
    }

    public void setPraised(boolean isPraised) {
        this.isPraised = isPraised;
    }

    public String getMessageType() {
        return messageType;
    }

    public void setMessageType(String messageType) {
        this.messageType = messageType;
    }

    public int getTakePartCount() {
        return takePartCount;
    }

    public void setTakePartCount(int takePartCount) {
        this.takePartCount = takePartCount;
    }

    public boolean isVoteOptionSingle() {
        return isVoteOptionSingle;
    }

    public void setVoteOptionSingle(boolean isVoteOptionSingle) {
        this.isVoteOptionSingle = isVoteOptionSingle;
    }

    public long getDeadLine() {
        return deadLine;
    }

    public void setDeadLine(long deadLine) {
        this.deadLine = deadLine;
    }

    public List<VoteItemDTO> getVoteItems() {
        return voteItems;
    }

    public void setVoteItems(List<VoteItemDTO> voteItems) {
        this.voteItems = voteItems;
    }

    public List<String> getTags() {
        return tags;
    }

    public void setTags(List<String> tags) {
        this.tags = tags;
    }
}
